---
title: Agentica > Guide Documents > Setup > Manual
---
import { Tabs } from 'nextra/components'

## Core Library
<Tabs items={['npm', 'pnpm', 'yarn']}>
  <Tabs.Tab>
```bash filename="Terminal" copy
npm install @agentica/core @samchon/openapi typia
npx typia setup
```
  </Tabs.Tab>
  <Tabs.Tab>
```bash filename="Terminal" copy
pnpm install @agentica/core @samchon/openapi typia
pnpm typia setup
```
  </Tabs.Tab>
  <Tabs.Tab>
```bash filename="Terminal" copy
# YARN BERRY IS NOT SUPPORTED
yarn add @agentica/core @samchon/openapi typia
yarn typia setup
```
  </Tabs.Tab>
</Tabs>

To install `@agentica/core`, you also have to install [`@samchon/openapi`](https://github.com/samchon/openapi) and [`typia`](https://github.com/samchon/typia).

`@samchon/openapi` is an OpenAPI specification library which can convert Swagger/OpenAPI document to LLM function calling schema. And `typia` is a transformer (compiler) library which can compose LLM function calling schema from a TypeScript class type.

By the way, as `typia` is a transformer library analyzing TypeScript source code in the compilation level, it needs additional setup command `npx typia setup`. 

If you're not using non-standard TypeScript compiler (not `tsc`) or developing the agent in the frontend environment, you have to setup [`@ryoppippi/unplugin-typia`](https://typia.io/docs/setup/#unplugin-typia) following its guide.




## WebSocket Protocol
### NodeJS Server
<Tabs items={['npm', 'pnpm', 'yarn']}>
  <Tabs.Tab>
```bash filename="Terminal" copy
npm install @agentica/core @samchon/openapi typia
npm install @agentica/rpc tgrid
npx typia setup
```
  </Tabs.Tab>
  <Tabs.Tab>
```bash filename="Terminal" copy
pnpm install @agentica/core @samchon/openapi typia
pnpm install @agentica/rpc tgrid
pnpm typia setup
```
  </Tabs.Tab>
  <Tabs.Tab>
```bash filename="Terminal" copy
# YARN BERRY IS NOT SUPPORTED
yarn add @agentica/core @samchon/openapi typia
yarn add @agentica/rpc tgrid
yarn typia setup
```
  </Tabs.Tab>
</Tabs>

When developing [#WebSocket server in NodeJS environment](/docs/websocket/nodejs), you need to install `tgrid` and `@agentica/rpc` packages additionally.

[`tgrid`](https://tgrid.com) is an RPC (Remote Procedure Call) framework supporting websocket protocol, and `@agentica/rpc` is a wrapper library of `@agentica/core` following the RPC paradigm of the `tgrid`.

### NestJS Server
<Tabs items={['npm', 'pnpm', 'yarn']}>
  <Tabs.Tab>
```bash filename="Terminal" copy
npm install @agentica/core @samchon/openapi
npm install @nestjs/common @nestjs/core @nestjs/platform-express
npm install @agentica/rpc tgrid

npm install -D nestia
npx nestia setup
```
  </Tabs.Tab>
  <Tabs.Tab>
```bash filename="Terminal" copy
pnpm install @agentica/core @samchon/openapi
pnpm install @nestjs/common @nestjs/core @nestjs/platform-express
pnpm install @agentica/rpc tgrid

pnpm install -D nestia
pnpm nestia setup
```
  </Tabs.Tab>
  <Tabs.Tab>
```bash filename="Terminal" copy
# YARN BERRY IS NOT SUPPORTED
yarn add @agentica/core @samchon/openapi
yarn add @nestjs/common @nestjs/core @nestjs/platform-express
yarn add @agentica/rpc tgrid

yarn add -D nestia
yarn nestia setup
```
  </Tabs.Tab>
</Tabs>

If you want to develop [#WebSocket server in NestJS framework](/docs/websocket/nestjs), you can do it with [`nestia`](https://nestia.io).

Install `@agentica/rpc`, [`tgrid`](https://tgrid.com) and NestJS packages first.

And then setup `nestia` with `npx nestia setup` command. It will setup every required packages for the WebSocket server in NestJS environment.

### Client Application
```bash filename="Terminal" copy
npm install @agentica/rpc tgrid
```

Client application does not require many packages.

Just install `@agentica/rpc` and [`tgrid`](https://tgrid.com) packages.




## Standalone Application
```bash filename="Terminal" copy
npm install @agentica/core @samchon/openapi typia
npx typia setup

npm install -D @ryoppippi/unplugin-typia
```

If you want to develop a standalone application which does everything in the frontend environment without any backend server interaction, you need to install above additional packages.

At first, [`@samchon/openapi`](https://github.com/samchon/openapi) is an OpenAPI specification library which can convert Swagger/OpenAPI document to LLM function calling schema. And [`typia`](https://typia.io) is a transformer (compiler) library which can compose LLM function calling schema from a TypeScript class type.

By the way, as `typia` is a transformer library analyzing TypeScript source code in the compilation level, it needs additional setup command `npx typia setup`.

Also, as frontend environment tends to use non-standard TypeScript compiler (not `tsc`) like `Vite`, you have to setup [`@ryoppippi/unplugin-typia`](https://typia.io/docs/setup/#unplugin-typia) package additionally following its setup guide document.

> [!WARNING]
>
> Standalone application, it must be not for production, but only for the testing environment. 
>
> If you distribute the standalone to the production, your LLM API key would be exposed to the public.
